package com.zhiche.lisa.tms.dto;


import com.baomidou.mybatisplus.annotations.TableField;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.zhiche.lisa.oms.vo.LocationVo;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 订单货物明细
 * </p>
 *
 * @author qichao
 * @since 2018-06-18
 */
public class OmsOrderItem implements Serializable{

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
	@JsonSerialize(using=ToStringSerializer.class)
	private Long id;
    /**
     * 订单ID
     */
	private Long orderId;
    /**
     * 数量
     */
	private Integer amount;
    /**
     * 度量单位
     */
	private String uom;
    /**
     * 所下订单中的原始货物标识信息(客户系统推送或录单人录入)
     */
	private String issueItemId;

	/**
	 * 货物分组
	 */
	private String material;
    /**
     * 当前状态
     */
	private String currentStatus;
    /**
     * 创建时间
     */
	private Date gmtCreate;

	/**
	 * 来源唯一键
	 */
	private String itemSourceKey;

	/**
	 * 交货点(并含有行政编码)
	 */
	@TableField(exist = false)
	private LocationVo endLocation;
	/**
	 * 提货点(并含有行政编码)
	 */
	@TableField(exist = false)
	private LocationVo startLocation;


	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public Long getOrderId() {
		return orderId;
	}

	public void setOrderId(Long orderId) {
		this.orderId = orderId;
	}

	public Integer getAmount() {
		return amount;
	}

	public void setAmount(Integer amount) {
		this.amount = amount;
	}

	public String getUom() {
		return uom;
	}

	public void setUom(String uom) {
		this.uom = uom;
	}

	public String getIssueItemId() {
		return issueItemId;
	}

	public void setIssueItemId(String issueItemId) {
		this.issueItemId = issueItemId;
	}

	public String getCurrentStatus() {
		return currentStatus;
	}

	public void setCurrentStatus(String currentStatus) {
		this.currentStatus = currentStatus;
	}

	public Date getGmtCreate() {
		return gmtCreate;
	}

	public void setGmtCreate(Date gmtCreate) {
		this.gmtCreate = gmtCreate;
	}

	@Override
	public String toString() {
		return "OmsOrderItem{" +
			", id=" + id +
			", orderId=" + orderId +
			", amount=" + amount +
			", uom=" + uom +
			", issueItemId=" + issueItemId +
			", currentStatus=" + currentStatus +
			", gmtCreate=" + gmtCreate +
			"}";
	}

	public String getMaterial() {
		return material;
	}

	public void setMaterial(String material) {
		this.material = material;
	}

	public String getItemSourceKey() {
		return itemSourceKey;
	}

	public void setItemSourceKey(String itemSourceKey) {
		this.itemSourceKey = itemSourceKey;
	}

	public LocationVo getEndLocation() {
		return endLocation;
	}

	public void setEndLocation(LocationVo endLocation) {
		this.endLocation = endLocation;
	}

	public LocationVo getStartLocation() {
		return startLocation;
	}

	public void setStartLocation(LocationVo startLocation) {
		this.startLocation = startLocation;
	}
}
